package com.filetransfer.model.dto;

import lombok.Data;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.time.LocalDateTime;

/**
 * 文件传输数据传输对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FileTransferDTO {
    
    /**
     * 文件传输记录ID
     */
    private Long id;
    
    /**
     * 发送者设备ID
     */
    private String senderId;
    
    /**
     * 发送者设备名称
     */
    private String senderName;
    
    /**
     * 接收者设备ID
     */
    private String receiverId;
    
    /**
     * 接收者设备名称
     */
    private String receiverName;
    
    /**
     * 文件名
     */
    private String fileName;
    
    /**
     * 文件大小（字节）
     */
    private Long fileSize;
    
    /**
     * 文件大小（格式化后）
     */
    private String fileSizeFormatted;
    
    /**
     * 文件路径
     */
    private String filePath;
    
    /**
     * 传输密钥
     */
    private String transferKey;
    
    /**
     * 传输状态：0-等待接收，1-传输中，2-已完成，3-已取消，4-传输失败
     */
    private Integer status;
    
    /**
     * 传输状态描述
     */
    private String statusDesc;
    
    /**
     * 创建时间
     */
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    private LocalDateTime updateTime;
} 